/* Software serial multple serial test Receives from the hardware serial, sends to software serial. Receives from software serial, sends to hardware serial. The circuit: * RX is digital pin 2 (connect to TX of other device) * TX is digital pin 3 (connect to RX of other device) Note: Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69 Not all pins on the Leonardo support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI). created back in the mists of time modified 25 May 2012 by Tom Igoe based on Mikal Hart's example This example code is in the public domain. */ #include SoftwareSerial mySerial(2, 3); // RX, TX #define ledPin 13 char state = '0'; void setup() { pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); mySerial.begin(9600); // Default communication rate of the Bluetooth module } void loop() { if(mySerial.available() > 0){ // Checks whether data is comming from the serial port state = mySerial.read(); // Reads the data from the serial port } if (state == '0') { digitalWrite(ledPin, LOW); // Turn LED OFF mySerial.println("LED: OFF"); // Send back, to the phone, the String "LED: ON" state = '2'; } else if (state == '1') { digitalWrite(ledPin, HIGH); mySerial.println("LED: ON");; state = '2'; } }